Integrating Model Checking into Object-oriented Software Development Processes

نویسندگان

  • Fei Xie
  • Vladimir Levin
  • James C. Browne
چکیده

A methodology for integrating model checking into object-oriented software development processes is defined, developed, and demonstrated. Model checking is applied to object-oriented analysis(OOA) models that have executable semantics specified as state machines rather than as programs in conventional programming languages. The complexity level of an OOA model yields a manageable state space for model checking. An automata based approach to model checking is used. The OOA models are automatically translated to automaton models. Predicates over the behaviors of the OOA models are mapped to predicates over the automaton models and evaluated by a model checker. Algorithms for translating OOA models to automaton models are given. Procedures for management of dynamic object instance sets and unbounded event queues are given. The algorithms and procedures have been implemented for OOA models constructed in the SES/Objectbench implementation of the Shlaer-Mellor method that provides executable semantics for a subset of Unified Modeling Language. Translation is to the S/R automaton language and the COSPAN system is used for model checking. The algorithms are readily adapted to other OOA models with executable semantics and other model checking systems. A simple example to demonstrate the capabilities is included in this paper. The companion paper[7] gives design rules for constructing OOA models which yield tractable automaton models upon translation and reports on application of the methodology to an OOA model of modest complexity, a minimal robot control system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Availability evaluation of Software architecture of object oriented Style using coloured Petri nets

Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...

متن کامل

A Formal Object-Oriented Analysis for Software Reliability: Design for Verification

This paper and a companion paper [32] together define, present and apply a methodology for integration of formal verification by automata-based model-checking into a commercially supported object-oriented software development process. This paper defines and illustrates a set of design rules for OOA models with executable semantics, which lead to automata models with tractable state spaces. The ...

متن کامل

Model Checking of UML Class Diagrams including OCL using Relational Logic

The popular process models for object-oriented software development do not comprise model checking techniques. Model checking tools which take UML class diagrams including OCL as input could facilitate the incorporation of model checking techniques into everyday software engineering workflows. This paper describes a two-step model checking approach for UML class diagrams including OCL: the clas...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Automatically verifying an object-oriented specification of the Steam-Boiler system

Correctness is a desired property of industrial software systems. Although the employment of formal methods and their veri(cation techniques in embedded real-time systems has started to be a common practice, the same cannot be said about object-oriented software. This paper presents an experiment of a technique for the automated veri(cation of a subset of the object-oriented language OBject LOG...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000